<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta http-equiv="cache-control" content="no-cache">
<title>reflex::Pattern Class Reference</title>
<link href="doxygen_tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="doxygen_content.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="top">
 <div id="titlearea">
  <table height="72px" width="100%" cellspacing="0" cellpadding="0">
   <tbody>
    <tr>
     <td width="10%">&nbsp;</td>
     <td><a href="https://github.com/Genivia/RE-flex"><img src="reflex-logo.png"/></a></td>
     <td>
      <div style="float: right; font-size: 18px; font-weight: bold;">reflex::Pattern Class Reference</div>
      <br>
      <div style="float: right; font-size: 10px;">updated Fri Nov 22 2019 by Robert van Engelen</div>
     </td>
     <td width="10%">&nbsp;</td>
    </tr>
   </tbody>
  </table>
 </div>
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacereflex.html">reflex</a></li><li class="navelem"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-types">Private Types</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classreflex_1_1_pattern-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">reflex::Pattern Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classreflex_1_1_pattern.html" title="Pattern class holds a regex pattern and its compiled FSM opcode table or code for the reflex::Matcher...">Pattern</a> class holds a regex pattern and its compiled FSM opcode table or code for the <a class="el" href="classreflex_1_1_matcher.html" title="RE/flex matcher engine class, implements reflex::PatternMatcher pattern matching interface with scan...">reflex::Matcher</a> engine.  
 <a href="classreflex_1_1_pattern.html#details">More...</a></p>

<p><code>#include &lt;pattern.h&gt;</code></p>
<div class="dynheader">
Collaboration diagram for reflex::Pattern:</div>
<div class="dyncontent">
<div class="center"><img src="classreflex_1_1_pattern__coll__graph.png" border="0" usemap="#reflex_1_1_pattern_coll__map" alt="Collaboration graph"/></div>
<map name="reflex_1_1_pattern_coll__map" id="reflex_1_1_pattern_coll__map">
<area shape="rect" id="node8" href="classreflex_1_1_pattern_matcher.html" title="reflex::PatternMatcher\l\&lt; reflex::Pattern \&gt;" alt="" coords="1373,286,1527,327"/>
<area shape="rect" id="node2" href="structreflex_1_1_pattern_1_1_option.html" title="Global modifier modes, syntax flags, and compiler options. " alt="" coords="866,459,1018,485"/>
<area shape="rect" id="node3" title="STL class. " alt="" coords="383,459,463,485"/>
<area shape="rect" id="node4" title="STL class. " alt="" coords="169,451,295,493"/>
<area shape="rect" id="node7" href="classreflex_1_1_matcher.html" title="RE/flex matcher engine class, implements reflex::PatternMatcher pattern matching interface with scan..." alt="" coords="1611,144,1721,171"/>
<area shape="rect" id="node9" href="classreflex_1_1_abstract_matcher.html" title="The abstract matcher base class template defines an interface for all pattern matcher engines..." alt="" coords="1104,231,1263,257"/>
<area shape="rect" id="node11" href="classreflex_1_1_abstract_matcher_1_1_operation.html" title="AbstractMatcher::Operation functor to match input to a pattern, also provides a (const) AbstractMatch..." alt="" coords="1371,221,1529,262"/>
<area shape="rect" id="node10" href="structreflex_1_1_abstract_matcher_1_1_option.html" title="AbstractMatcher::Options for matcher engines. " alt="" coords="863,169,1021,210"/>
<area shape="rect" id="node12" href="classreflex_1_1_input.html" title="Input character sequence class for unified access to sources of input text. " alt="" coords="896,235,988,261"/>
<area shape="rect" id="node13" title="STL class. " alt="" coords="631,235,722,261"/>
<area shape="rect" id="node14" title="STL class. " alt="" coords="359,227,488,269"/>
<area shape="rect" id="node15" title="STL class. " alt="" coords="155,235,309,261"/>
<area shape="rect" id="node16" title="STL class. " alt="" coords="5,235,105,261"/>
<area shape="rect" id="node20" href="structreflex_1_1_matcher_1_1_f_s_m.html" title="FSM data for FSM code. " alt="" coords="1377,169,1523,196"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1_pattern_1_1_const.html">Const</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common constants.  <a href="structreflex_1_1_pattern_1_1_const.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1_pattern_1_1_option.html">Option</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global modifier modes, syntax flags, and compiler options.  <a href="structreflex_1_1_pattern_1_1_option.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1_pattern_1_1_position.html">Position</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finite state machine construction position information.  <a href="structreflex_1_1_pattern_1_1_position.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finite state machine.  <a href="structreflex_1_1_pattern_1_1_state.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:afc0939fcf3c55e813039bc3e475a8a51"><td class="memItemLeft" align="right" valign="top">typedef uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a></td></tr>
<tr class="memdesc:afc0939fcf3c55e813039bc3e475a8a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">predict match bits  <a href="#afc0939fcf3c55e813039bc3e475a8a51">More...</a><br /></td></tr>
<tr class="separator:afc0939fcf3c55e813039bc3e475a8a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3739687ef42556a3700e046de2f1d33e"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a></td></tr>
<tr class="memdesc:a3739687ef42556a3700e046de2f1d33e"><td class="mdescLeft">&#160;</td><td class="mdescRight">hash type (uint16_t), may be narrowed to uint8_t when <a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47" title="size of the predict match array ">Const::HASH</a> == 0x100  <a href="#a3739687ef42556a3700e046de2f1d33e">More...</a><br /></td></tr>
<tr class="separator:a3739687ef42556a3700e046de2f1d33e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38d69acf1e472d48225a3ba50b138e02"><td class="memItemLeft" align="right" valign="top">typedef uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a></td></tr>
<tr class="memdesc:a38d69acf1e472d48225a3ba50b138e02"><td class="mdescLeft">&#160;</td><td class="mdescRight">index into opcodes array <a class="el" href="classreflex_1_1_pattern.html#aab67c0f79238c0e2e5bccd80c43c07a1" title="points to the opcode table ">Pattern::opc_</a> and subpattern indexing  <a href="#a38d69acf1e472d48225a3ba50b138e02">More...</a><br /></td></tr>
<tr class="separator:a38d69acf1e472d48225a3ba50b138e02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d44677873f6377230f2513218101c1c"><td class="memItemLeft" align="right" valign="top">typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a></td></tr>
<tr class="memdesc:a4d44677873f6377230f2513218101c1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">32 bit opcode word  <a href="#a4d44677873f6377230f2513218101c1c">More...</a><br /></td></tr>
<tr class="separator:a4d44677873f6377230f2513218101c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bd5471ccfee49021fd76a135bd52db0"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a>) (class <a class="el" href="classreflex_1_1_matcher.html">Matcher</a> &amp;)</td></tr>
<tr class="separator:a6bd5471ccfee49021fd76a135bd52db0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0aabd5b85ce3128619e5cd0016e9a5ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0aabd5b85ce3128619e5cd0016e9a5ff">Pattern</a> ()</td></tr>
<tr class="memdesc:a0aabd5b85ce3128619e5cd0016e9a5ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an unset pattern.  <a href="#a0aabd5b85ce3128619e5cd0016e9a5ff">More...</a><br /></td></tr>
<tr class="separator:a0aabd5b85ce3128619e5cd0016e9a5ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f1a567185c44a31b700fcf9a54b25f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a36f1a567185c44a31b700fcf9a54b25f">Pattern</a> (const char *regex, const char *options=NULL)</td></tr>
<tr class="memdesc:a36f1a567185c44a31b700fcf9a54b25f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given a regex string.  <a href="#a36f1a567185c44a31b700fcf9a54b25f">More...</a><br /></td></tr>
<tr class="separator:a36f1a567185c44a31b700fcf9a54b25f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f6f72b3a3789b29ff01ae39c75d2d23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1f6f72b3a3789b29ff01ae39c75d2d23">Pattern</a> (const char *regex, const std::string &amp;options)</td></tr>
<tr class="memdesc:a1f6f72b3a3789b29ff01ae39c75d2d23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given a regex string.  <a href="#a1f6f72b3a3789b29ff01ae39c75d2d23">More...</a><br /></td></tr>
<tr class="separator:a1f6f72b3a3789b29ff01ae39c75d2d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaeaefcc762d23d69da4dbc7102e3c63"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#acaeaefcc762d23d69da4dbc7102e3c63">Pattern</a> (const std::string &amp;regex, const char *options=NULL)</td></tr>
<tr class="memdesc:acaeaefcc762d23d69da4dbc7102e3c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given a regex string.  <a href="#acaeaefcc762d23d69da4dbc7102e3c63">More...</a><br /></td></tr>
<tr class="separator:acaeaefcc762d23d69da4dbc7102e3c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af65f65e0258490f623622781ce1d3a1a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#af65f65e0258490f623622781ce1d3a1a">Pattern</a> (const std::string &amp;regex, const std::string &amp;options)</td></tr>
<tr class="memdesc:af65f65e0258490f623622781ce1d3a1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given a regex string.  <a href="#af65f65e0258490f623622781ce1d3a1a">More...</a><br /></td></tr>
<tr class="separator:af65f65e0258490f623622781ce1d3a1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a692627fd6f5f8fa56b977cd6726e6f85"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a692627fd6f5f8fa56b977cd6726e6f85">Pattern</a> (const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *code, const uint8_t *pred=NULL)</td></tr>
<tr class="memdesc:a692627fd6f5f8fa56b977cd6726e6f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given an opcode table.  <a href="#a692627fd6f5f8fa56b977cd6726e6f85">More...</a><br /></td></tr>
<tr class="separator:a692627fd6f5f8fa56b977cd6726e6f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae639bd7379b1453fc12d6437ef1b5d5b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ae639bd7379b1453fc12d6437ef1b5d5b">Pattern</a> (<a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a> fsm, const uint8_t *pred=NULL)</td></tr>
<tr class="memdesc:ae639bd7379b1453fc12d6437ef1b5d5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a pattern object given a function pointer to FSM code.  <a href="#ae639bd7379b1453fc12d6437ef1b5d5b">More...</a><br /></td></tr>
<tr class="separator:ae639bd7379b1453fc12d6437ef1b5d5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a858c16d3b25426e9ca7a5a373d4740a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a858c16d3b25426e9ca7a5a373d4740a1">Pattern</a> (const <a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;pattern)</td></tr>
<tr class="memdesc:a858c16d3b25426e9ca7a5a373d4740a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#a858c16d3b25426e9ca7a5a373d4740a1">More...</a><br /></td></tr>
<tr class="separator:a858c16d3b25426e9ca7a5a373d4740a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35612bed740e5d6761f5e212a6620e44"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a35612bed740e5d6761f5e212a6620e44">~Pattern</a> ()</td></tr>
<tr class="memdesc:a35612bed740e5d6761f5e212a6620e44"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor, deletes internal code array when owned and allocated.  <a href="#a35612bed740e5d6761f5e212a6620e44">More...</a><br /></td></tr>
<tr class="separator:a35612bed740e5d6761f5e212a6620e44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e09054af04bea1f99c87fc4b71f952a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a7e09054af04bea1f99c87fc4b71f952a">clear</a> ()</td></tr>
<tr class="memdesc:a7e09054af04bea1f99c87fc4b71f952a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear and delete pattern data.  <a href="#a7e09054af04bea1f99c87fc4b71f952a">More...</a><br /></td></tr>
<tr class="separator:a7e09054af04bea1f99c87fc4b71f952a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb90ee07db1a540e99307c20d4e5cbf0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#adb90ee07db1a540e99307c20d4e5cbf0">assign</a> (const char *regex, const char *options=NULL)</td></tr>
<tr class="memdesc:adb90ee07db1a540e99307c20d4e5cbf0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#adb90ee07db1a540e99307c20d4e5cbf0">More...</a><br /></td></tr>
<tr class="separator:adb90ee07db1a540e99307c20d4e5cbf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaf639d28f4a76a578b936e9c7eb46eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#adaf639d28f4a76a578b936e9c7eb46eb">assign</a> (const char *regex, const std::string &amp;options)</td></tr>
<tr class="memdesc:adaf639d28f4a76a578b936e9c7eb46eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#adaf639d28f4a76a578b936e9c7eb46eb">More...</a><br /></td></tr>
<tr class="separator:adaf639d28f4a76a578b936e9c7eb46eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84ad0cc4002b502b307b769945d5923c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a84ad0cc4002b502b307b769945d5923c">assign</a> (const std::string &amp;regex, const char *options=NULL)</td></tr>
<tr class="memdesc:a84ad0cc4002b502b307b769945d5923c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a84ad0cc4002b502b307b769945d5923c">More...</a><br /></td></tr>
<tr class="separator:a84ad0cc4002b502b307b769945d5923c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718bdc527e32d97bf7f4a9fbe53749d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a718bdc527e32d97bf7f4a9fbe53749d8">assign</a> (const std::string &amp;regex, const std::string &amp;options)</td></tr>
<tr class="memdesc:a718bdc527e32d97bf7f4a9fbe53749d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a718bdc527e32d97bf7f4a9fbe53749d8">More...</a><br /></td></tr>
<tr class="separator:a718bdc527e32d97bf7f4a9fbe53749d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a57e71368588d1beef5628792ca436a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a2a57e71368588d1beef5628792ca436a">assign</a> (const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *code, const uint8_t *pred=NULL)</td></tr>
<tr class="memdesc:a2a57e71368588d1beef5628792ca436a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a2a57e71368588d1beef5628792ca436a">More...</a><br /></td></tr>
<tr class="separator:a2a57e71368588d1beef5628792ca436a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31155c6387063ce6793df31927865a3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a31155c6387063ce6793df31927865a3c">assign</a> (<a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a> fsm, const uint8_t *pred=NULL)</td></tr>
<tr class="memdesc:a31155c6387063ce6793df31927865a3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a31155c6387063ce6793df31927865a3c">More...</a><br /></td></tr>
<tr class="separator:a31155c6387063ce6793df31927865a3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a405dc0bc89070a8c694e6d012c00a807"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a405dc0bc89070a8c694e6d012c00a807">operator=</a> (const <a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;pattern)</td></tr>
<tr class="memdesc:a405dc0bc89070a8c694e6d012c00a807"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a405dc0bc89070a8c694e6d012c00a807">More...</a><br /></td></tr>
<tr class="separator:a405dc0bc89070a8c694e6d012c00a807"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a013662647ab3f2b4404893fd05040e2c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a013662647ab3f2b4404893fd05040e2c">operator=</a> (const char *regex)</td></tr>
<tr class="memdesc:a013662647ab3f2b4404893fd05040e2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a013662647ab3f2b4404893fd05040e2c">More...</a><br /></td></tr>
<tr class="separator:a013662647ab3f2b4404893fd05040e2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa7bfc08bcd9236f035cc0732e6437a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aaa7bfc08bcd9236f035cc0732e6437a3">operator=</a> (const std::string &amp;regex)</td></tr>
<tr class="memdesc:aaa7bfc08bcd9236f035cc0732e6437a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#aaa7bfc08bcd9236f035cc0732e6437a3">More...</a><br /></td></tr>
<tr class="separator:aaa7bfc08bcd9236f035cc0732e6437a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88c716035ab6d17770bd3bcb7db517b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a88c716035ab6d17770bd3bcb7db517b4">operator=</a> (const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *code)</td></tr>
<tr class="memdesc:a88c716035ab6d17770bd3bcb7db517b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#a88c716035ab6d17770bd3bcb7db517b4">More...</a><br /></td></tr>
<tr class="separator:a88c716035ab6d17770bd3bcb7db517b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add516e864534d6704b43592232b81366"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#add516e864534d6704b43592232b81366">operator=</a> (<a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a> fsm)</td></tr>
<tr class="memdesc:add516e864534d6704b43592232b81366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign a (new) pattern.  <a href="#add516e864534d6704b43592232b81366">More...</a><br /></td></tr>
<tr class="separator:add516e864534d6704b43592232b81366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8041717ba77c753a8a8b61df40c7b050"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a8041717ba77c753a8a8b61df40c7b050">size</a> () const </td></tr>
<tr class="memdesc:a8041717ba77c753a8a8b61df40c7b050"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of subpatterns of this pattern object.  <a href="#a8041717ba77c753a8a8b61df40c7b050">More...</a><br /></td></tr>
<tr class="separator:a8041717ba77c753a8a8b61df40c7b050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dd78d5f44f64407561e6cf7945d34ea"><td class="memItemLeft" align="right" valign="top">const std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a5dd78d5f44f64407561e6cf7945d34ea">operator[]</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> choice) const </td></tr>
<tr class="memdesc:a5dd78d5f44f64407561e6cf7945d34ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get subpattern regex of this pattern object or the whole regex with index 0.  <a href="#a5dd78d5f44f64407561e6cf7945d34ea">More...</a><br /></td></tr>
<tr class="separator:a5dd78d5f44f64407561e6cf7945d34ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3c1d4a0277c81673d05324dfe8d3a6e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ae3c1d4a0277c81673d05324dfe8d3a6e">reachable</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> choice) const </td></tr>
<tr class="memdesc:ae3c1d4a0277c81673d05324dfe8d3a6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check is subpattern is reachable by a match.  <a href="#ae3c1d4a0277c81673d05324dfe8d3a6e">More...</a><br /></td></tr>
<tr class="separator:ae3c1d4a0277c81673d05324dfe8d3a6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc9cc5f49fea95ccec3df7b85d751cff"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#acc9cc5f49fea95ccec3df7b85d751cff">nodes</a> () const </td></tr>
<tr class="memdesc:acc9cc5f49fea95ccec3df7b85d751cff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of finite state machine nodes (vertices).  <a href="#acc9cc5f49fea95ccec3df7b85d751cff">More...</a><br /></td></tr>
<tr class="separator:acc9cc5f49fea95ccec3df7b85d751cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b93367970497624cfd0da2121f48924"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1b93367970497624cfd0da2121f48924">edges</a> () const </td></tr>
<tr class="memdesc:a1b93367970497624cfd0da2121f48924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of finite state machine edges (transitions on input characters).  <a href="#a1b93367970497624cfd0da2121f48924">More...</a><br /></td></tr>
<tr class="separator:a1b93367970497624cfd0da2121f48924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e1151e347e498f51631c78739e0d5d9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1e1151e347e498f51631c78739e0d5d9">words</a> () const </td></tr>
<tr class="memdesc:a1e1151e347e498f51631c78739e0d5d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the code size in number of words.  <a href="#a1e1151e347e498f51631c78739e0d5d9">More...</a><br /></td></tr>
<tr class="separator:a1e1151e347e498f51631c78739e0d5d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa17c980b164a1fe4a94dc467d5eea18e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa17c980b164a1fe4a94dc467d5eea18e">parse_time</a> () const </td></tr>
<tr class="memdesc:aa17c980b164a1fe4a94dc467d5eea18e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get elapsed regex parsing and analysis time.  <a href="#aa17c980b164a1fe4a94dc467d5eea18e">More...</a><br /></td></tr>
<tr class="separator:aa17c980b164a1fe4a94dc467d5eea18e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb30d9c021e6d3e6f9a92d235ccf2dfe"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aeb30d9c021e6d3e6f9a92d235ccf2dfe">nodes_time</a> () const </td></tr>
<tr class="memdesc:aeb30d9c021e6d3e6f9a92d235ccf2dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get elapsed DFA vertices construction time.  <a href="#aeb30d9c021e6d3e6f9a92d235ccf2dfe">More...</a><br /></td></tr>
<tr class="separator:aeb30d9c021e6d3e6f9a92d235ccf2dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaf861828898bec7dc5c19fbc4a44194"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#abaf861828898bec7dc5c19fbc4a44194">edges_time</a> () const </td></tr>
<tr class="memdesc:abaf861828898bec7dc5c19fbc4a44194"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get elapsed DFA edges construction time.  <a href="#abaf861828898bec7dc5c19fbc4a44194">More...</a><br /></td></tr>
<tr class="separator:abaf861828898bec7dc5c19fbc4a44194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc8cbdbe88fab10eccc2acf6719abd61"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#acc8cbdbe88fab10eccc2acf6719abd61">words_time</a> () const </td></tr>
<tr class="memdesc:acc8cbdbe88fab10eccc2acf6719abd61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get elapsed code words assembly time.  <a href="#acc8cbdbe88fab10eccc2acf6719abd61">More...</a><br /></td></tr>
<tr class="separator:acc8cbdbe88fab10eccc2acf6719abd61"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa6b5e2aaa1a534bf49e4fa7fd8585e07"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa6b5e2aaa1a534bf49e4fa7fd8585e07">error</a> (<a class="el" href="namespacereflex.html#a776c689092282b15974a151328083b2d">regex_error_type</a> code, size_t pos=0) const </td></tr>
<tr class="memdesc:aa6b5e2aaa1a534bf49e4fa7fd8585e07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Throw an error.  <a href="#aa6b5e2aaa1a534bf49e4fa7fd8585e07">More...</a><br /></td></tr>
<tr class="separator:aa6b5e2aaa1a534bf49e4fa7fd8585e07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
Private Types</h2></td></tr>
<tr class="memitem:a2776a201661c958c38e3deadceaf4d2b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2b">Meta</a> { <br />
&#160;&#160;<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba48e13bbae590f352b9bf67046aad6c76">META_MIN</a> = 0x100, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bad90cb31a0b39f692beb3f7a70a855db7">META_NWB</a> = 0x101, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba2887659e7cb5d0cc345361ade454d858">META_NWE</a> = 0x102, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2baf81fc1af4f0fa960d1475c81cf785184">META_BWB</a> = 0x103, 
<br />
&#160;&#160;<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bae12f4a5af19cfde12ff38d55ec91c543">META_EWB</a> = 0x104, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bad2689d85118bf0f7fdfa8d3ed710005c">META_BWE</a> = 0x105, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba81e8ee255c0ea9fd7d608ea4afd109cd">META_EWE</a> = 0x106, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba528f749628fea5497ec2b141fc68c86a">META_BOL</a> = 0x107, 
<br />
&#160;&#160;<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bad4d665a6389e2021c333c82ccd7326ba">META_EOL</a> = 0x108, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bafb92ecb707da8d19d22a680acafb5e59">META_BOB</a> = 0x109, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba3564384fa20ade8e086b725eec12401a">META_EOB</a> = 0x10A, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bafe1b7d462a9d651bfe15f7494e121179">META_UND</a> = 0x10B, 
<br />
&#160;&#160;<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba1d18a927ad1bb4c58b066e5f4f914337">META_IND</a> = 0x10C, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2bae47cfcacf92488d19d3589339a5c5e4d">META_DED</a> = 0x10D, 
<a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2ba2323c5c35b832fc9820b2e57a87f2f97">META_MAX</a>
<br />
 }<tr class="memdesc:a2776a201661c958c38e3deadceaf4d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Meta characters.  <a href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2b">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a2776a201661c958c38e3deadceaf4d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98c79e11448d94900f6db02a09fecd69"><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a></td></tr>
<tr class="separator:a98c79e11448d94900f6db02a09fecd69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5941659aec38a8a39608088e0799555"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a></td></tr>
<tr class="memdesc:ab5941659aec38a8a39608088e0799555"><td class="mdescLeft">&#160;</td><td class="mdescRight">represent char (0-255 + meta chars) set as a set of ranges  <a href="#ab5941659aec38a8a39608088e0799555">More...</a><br /></td></tr>
<tr class="separator:ab5941659aec38a8a39608088e0799555"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72409ec8de3a69e4b5ebfcb8b30a4607"><td class="memItemLeft" align="right" valign="top">typedef size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a></td></tr>
<tr class="separator:a72409ec8de3a69e4b5ebfcb8b30a4607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3bcc06b90015496882ec43819db7fb0"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a></td></tr>
<tr class="separator:aa3bcc06b90015496882ec43819db7fb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68b4c7815bdf30d7ff3d906d85a13ce7"><td class="memItemLeft" align="right" valign="top">typedef std::set&lt; <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a68b4c7815bdf30d7ff3d906d85a13ce7">Set</a></td></tr>
<tr class="separator:a68b4c7815bdf30d7ff3d906d85a13ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa52226cd084c5dfefff2b38e08959629"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; int, <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a></td></tr>
<tr class="separator:aa52226cd084c5dfefff2b38e08959629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7afa8a46d3665051c17de9b327f3f4dc"><td class="memItemLeft" align="right" valign="top">typedef std::set&lt; <a class="el" href="structreflex_1_1_pattern_1_1_position.html">Position</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a></td></tr>
<tr class="separator:a7afa8a46d3665051c17de9b327f3f4dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c44038d35a1a401ae2fb75787d6df2c"><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; <a class="el" href="structreflex_1_1_pattern_1_1_position.html">Position</a>, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a></td></tr>
<tr class="separator:a0c44038d35a1a401ae2fb75787d6df2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1835b3991d23c957e81c97442a608fc"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a>, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#af1835b3991d23c957e81c97442a608fc">Move</a></td></tr>
<tr class="separator:af1835b3991d23c957e81c97442a608fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadfb59075bcf8a23e648c50d4a103d1e"><td class="memItemLeft" align="right" valign="top">typedef std::list&lt; <a class="el" href="classreflex_1_1_pattern.html#af1835b3991d23c957e81c97442a608fc">Move</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">Moves</a></td></tr>
<tr class="separator:aadfb59075bcf8a23e648c50d4a103d1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a6fafcda71f7c7c705397088ca29c4caf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6fafcda71f7c7c705397088ca29c4caf">init</a> (const char *options, const uint8_t *pred=NULL)</td></tr>
<tr class="memdesc:a6fafcda71f7c7c705397088ca29c4caf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the pattern at construction.  <a href="#a6fafcda71f7c7c705397088ca29c4caf">More...</a><br /></td></tr>
<tr class="separator:a6fafcda71f7c7c705397088ca29c4caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8bdde704ce3cbc0f3fcf4502338d92b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab8bdde704ce3cbc0f3fcf4502338d92b">init_options</a> (const char *options)</td></tr>
<tr class="separator:ab8bdde704ce3cbc0f3fcf4502338d92b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1754ccae6c06d9c3f2cb3b1f5ee70c48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1754ccae6c06d9c3f2cb3b1f5ee70c48">parse</a> (<a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;startpos, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;lookahead)</td></tr>
<tr class="separator:a1754ccae6c06d9c3f2cb3b1f5ee70c48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9419893491a02f323a96775b187c3934"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9419893491a02f323a96775b187c3934">parse1</a> (bool begin, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;loc, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;firstpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lastpos, bool &amp;nullable, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;lookahead, <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;iter)</td></tr>
<tr class="separator:a9419893491a02f323a96775b187c3934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2662cb0c9c6783ca578ed56ac2c95c3a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a2662cb0c9c6783ca578ed56ac2c95c3a">parse2</a> (bool begin, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;loc, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;firstpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lastpos, bool &amp;nullable, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;lookahead, <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;iter)</td></tr>
<tr class="separator:a2662cb0c9c6783ca578ed56ac2c95c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd3f417b198c8238ef5f006815af2b54"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#acd3f417b198c8238ef5f006815af2b54">parse3</a> (bool begin, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;loc, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;firstpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lastpos, bool &amp;nullable, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;lookahead, <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;iter)</td></tr>
<tr class="separator:acd3f417b198c8238ef5f006815af2b54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ecf38ad7c5c3c3bfc506d50aeef1c66"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6ecf38ad7c5c3c3bfc506d50aeef1c66">parse4</a> (bool begin, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;loc, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;firstpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lastpos, bool &amp;nullable, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;lookahead, <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;iter)</td></tr>
<tr class="separator:a6ecf38ad7c5c3c3bfc506d50aeef1c66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadd3ac700da3409d35e528fa895f22e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aadd3ac700da3409d35e528fa895f22e7">parse_esc</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;loc) const </td></tr>
<tr class="separator:aadd3ac700da3409d35e528fa895f22e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f370970f771824574863df077d8495"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab9f370970f771824574863df077d8495">compile</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;lookahead)</td></tr>
<tr class="separator:ab9f370970f771824574863df077d8495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87e0b7c2df8975bece5b2c90ccc1076f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a87e0b7c2df8975bece5b2c90ccc1076f">lazy</a> (const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;pos) const </td></tr>
<tr class="separator:a87e0b7c2df8975bece5b2c90ccc1076f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa14e8dc9daa92f60b681479f36efa066"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa14e8dc9daa92f60b681479f36efa066">lazy</a> (const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;lazypos, const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;pos, <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;pos1) const </td></tr>
<tr class="separator:aa14e8dc9daa92f60b681479f36efa066"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85281a3707c8eca56b5ace45a482aa13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a85281a3707c8eca56b5ace45a482aa13">greedy</a> (<a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;pos) const </td></tr>
<tr class="separator:a85281a3707c8eca56b5ace45a482aa13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f675095534b2dd8cd405fcd3f30fb72"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a5f675095534b2dd8cd405fcd3f30fb72">trim_lazy</a> (<a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;pos) const </td></tr>
<tr class="separator:a5f675095534b2dd8cd405fcd3f30fb72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3eda0c761f49da20c4b23a529a541af9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a3eda0c761f49da20c4b23a529a541af9">compile_transition</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *state, <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;followpos, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;lookahead, <a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">Moves</a> &amp;moves) const </td></tr>
<tr class="separator:a3eda0c761f49da20c4b23a529a541af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf637b39534ba1b5c9446572856f183c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#acf637b39534ba1b5c9446572856f183c">transition</a> (<a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">Moves</a> &amp;moves, const <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;chars, const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;follow) const </td></tr>
<tr class="separator:acf637b39534ba1b5c9446572856f183c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4f83afeefbbfb31baf8e685bffaa837"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#af4f83afeefbbfb31baf8e685bffaa837">compile_esc</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc, <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;chars) const </td></tr>
<tr class="separator:af4f83afeefbbfb31baf8e685bffaa837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d479e51b4026545c75878def0d764de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0d479e51b4026545c75878def0d764de">compile_list</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc, <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;chars, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers) const </td></tr>
<tr class="separator:a0d479e51b4026545c75878def0d764de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0eda441aecb46e765fe91c7abe64e259"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0eda441aecb46e765fe91c7abe64e259">posix</a> (size_t index, <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;chars) const </td></tr>
<tr class="separator:a0eda441aecb46e765fe91c7abe64e259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b16463f65322a3dfb5d44ff8469b0f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9b16463f65322a3dfb5d44ff8469b0f2">flip</a> (<a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;chars) const </td></tr>
<tr class="separator:a9b16463f65322a3dfb5d44ff8469b0f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc61421fdd9e91d8c0fccd07f0fb1b31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#abc61421fdd9e91d8c0fccd07f0fb1b31">assemble</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start)</td></tr>
<tr class="separator:abc61421fdd9e91d8c0fccd07f0fb1b31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a885813800facf0d10934583600ad454f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a885813800facf0d10934583600ad454f">compact_dfa</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start)</td></tr>
<tr class="separator:a885813800facf0d10934583600ad454f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87ad6f65bf821d26564a23c4abba137c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a87ad6f65bf821d26564a23c4abba137c">encode_dfa</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start)</td></tr>
<tr class="separator:a87ad6f65bf821d26564a23c4abba137c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a187faf20988e050da392b193d9103dd6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a187faf20988e050da392b193d9103dd6">gencode_dfa</a> (const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start) const </td></tr>
<tr class="separator:a187faf20988e050da392b193d9103dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2456a0755ae0642d444ea26fe1c52d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa2456a0755ae0642d444ea26fe1c52d0">check_dfa_closure</a> (const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *state, int nest, bool &amp;peek, bool &amp;prev) const </td></tr>
<tr class="separator:aa2456a0755ae0642d444ea26fe1c52d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1398639a38ac4793f89d72d1e432583c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1398639a38ac4793f89d72d1e432583c">gencode_dfa_closure</a> (FILE *fd, const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *start, int nest, bool peek) const </td></tr>
<tr class="separator:a1398639a38ac4793f89d72d1e432583c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad17af88082dbd8e8fbfa01912cef09ab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ad17af88082dbd8e8fbfa01912cef09ab">delete_dfa</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start)</td></tr>
<tr class="separator:ad17af88082dbd8e8fbfa01912cef09ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa834ea7a2d631d973aaaf1cc7c320e7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa834ea7a2d631d973aaaf1cc7c320e7f">export_dfa</a> (const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start) const </td></tr>
<tr class="separator:aa834ea7a2d631d973aaaf1cc7c320e7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa0f088569b9e3b76423f0d243f440e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#afa0f088569b9e3b76423f0d243f440e6">export_code</a> () const </td></tr>
<tr class="separator:afa0f088569b9e3b76423f0d243f440e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7690f2efaa71a7f5821977e9679ad369"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a7690f2efaa71a7f5821977e9679ad369">predict_match_dfa</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;start)</td></tr>
<tr class="separator:a7690f2efaa71a7f5821977e9679ad369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eeb231b4cf4458284e601306c97a2c9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9eeb231b4cf4458284e601306c97a2c9">gen_predict_match</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *state)</td></tr>
<tr class="separator:a9eeb231b4cf4458284e601306c97a2c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a618a7a3daf8482620062dd1bd2d6e489"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a618a7a3daf8482620062dd1bd2d6e489">gen_predict_match_transitions</a> (<a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *state, std::map&lt; <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *, <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &gt; &amp;states)</td></tr>
<tr class="separator:a618a7a3daf8482620062dd1bd2d6e489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b86f917892753b1740cb8da152d6a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab9b86f917892753b1740cb8da152d6a9">gen_predict_match_transitions</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> level, <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *state, <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &amp;labels, std::map&lt; <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *, <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &gt; &amp;states)</td></tr>
<tr class="separator:ab9b86f917892753b1740cb8da152d6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d0e0757d4c4173d560a43993cd63fa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a95d0e0757d4c4173d560a43993cd63fa">write_predictor</a> (FILE *fd) const </td></tr>
<tr class="separator:a95d0e0757d4c4173d560a43993cd63fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60dfdb71b2a7c35b463516d47eff9417"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a60dfdb71b2a7c35b463516d47eff9417">write_namespace_open</a> (FILE *fd) const </td></tr>
<tr class="separator:a60dfdb71b2a7c35b463516d47eff9417"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a859c3bd6c7a08531492106c8be732446"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a859c3bd6c7a08531492106c8be732446">write_namespace_close</a> (FILE *fd) const </td></tr>
<tr class="separator:a859c3bd6c7a08531492106c8be732446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fff2db9db9ca67a7c067a68161bfc7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9fff2db9db9ca67a7c067a68161bfc7a">find_at</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc, char c) const </td></tr>
<tr class="separator:a9fff2db9db9ca67a7c067a68161bfc7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3164013e5d501f11e6224e371961a5d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a3164013e5d501f11e6224e371961a5d4">at</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> k) const </td></tr>
<tr class="separator:a3164013e5d501f11e6224e371961a5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed945c4257571dad57ba77ea8d585f90"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aed945c4257571dad57ba77ea8d585f90">eq_at</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc, const char *s) const </td></tr>
<tr class="separator:aed945c4257571dad57ba77ea8d585f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c8a6fc9ae3c7a633ef151b9e98e154a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a5c8a6fc9ae3c7a633ef151b9e98e154a">escape_at</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc) const </td></tr>
<tr class="separator:a5c8a6fc9ae3c7a633ef151b9e98e154a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97becab6c532a028e1db637df364d57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ae97becab6c532a028e1db637df364d57">escapes_at</a> (<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc, const char *escapes) const </td></tr>
<tr class="separator:ae97becab6c532a028e1db637df364d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a54ddf1635a08c0c6a1c3c8bb77d84aca"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a54ddf1635a08c0c6a1c3c8bb77d84aca">is_modified</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> mode, const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> loc)</td></tr>
<tr class="separator:a54ddf1635a08c0c6a1c3c8bb77d84aca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedf71e55974fdd111deaacdc0e07727e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aedf71e55974fdd111deaacdc0e07727e">update_modified</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> mode, <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;modifiers, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> from, <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> to)</td></tr>
<tr class="separator:aedf71e55974fdd111deaacdc0e07727e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef78ad9afa10f25af2397de5d682de7d"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aef78ad9afa10f25af2397de5d682de7d">is_meta</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> c)</td></tr>
<tr class="separator:aef78ad9afa10f25af2397de5d682de7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54d407eb8c94d830c938682bf61d3a9e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a54d407eb8c94d830c938682bf61d3a9e">opcode_take</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> index)</td></tr>
<tr class="separator:a54d407eb8c94d830c938682bf61d3a9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1eb6fb5ae37a0762a1bbaeeeaa351d5"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#af1eb6fb5ae37a0762a1bbaeeeaa351d5">opcode_redo</a> ()</td></tr>
<tr class="separator:af1eb6fb5ae37a0762a1bbaeeeaa351d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fc95b760cdc1b89454371bc8f36662c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a4fc95b760cdc1b89454371bc8f36662c">opcode_tail</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> index)</td></tr>
<tr class="separator:a4fc95b760cdc1b89454371bc8f36662c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6ca25d94886ac2d6f3ee51e9ac789f3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aa6ca25d94886ac2d6f3ee51e9ac789f3">opcode_head</a> (<a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> index)</td></tr>
<tr class="separator:aa6ca25d94886ac2d6f3ee51e9ac789f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74271267057251b4cd554b9092f44154"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a74271267057251b4cd554b9092f44154">opcode_goto</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> lo, <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> hi, <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> index)</td></tr>
<tr class="separator:a74271267057251b4cd554b9092f44154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad398628debb005614db17cc1732239d6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ad398628debb005614db17cc1732239d6">opcode_halt</a> ()</td></tr>
<tr class="separator:ad398628debb005614db17cc1732239d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e27e8d5328e92eae5dbd41730ce59b8"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9e27e8d5328e92eae5dbd41730ce59b8">is_opcode_redo</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a9e27e8d5328e92eae5dbd41730ce59b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11788b997a025524ffb968824cd84cce"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a11788b997a025524ffb968824cd84cce">is_opcode_take</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a11788b997a025524ffb968824cd84cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d70755be9ff50c97d116a067a5fc87c"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6d70755be9ff50c97d116a067a5fc87c">is_opcode_tail</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a6d70755be9ff50c97d116a067a5fc87c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1828d30256e594a9f20309bc4b9b211"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ae1828d30256e594a9f20309bc4b9b211">is_opcode_head</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:ae1828d30256e594a9f20309bc4b9b211"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d6ea49de77878489110b55a5490ab15"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6d6ea49de77878489110b55a5490ab15">is_opcode_halt</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a6d6ea49de77878489110b55a5490ab15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67b1f57c6c67c6b97bfa700cf2fb066a"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a67b1f57c6c67c6b97bfa700cf2fb066a">is_opcode_meta</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a67b1f57c6c67c6b97bfa700cf2fb066a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc7b1198243fdcda932b56a0c98f868"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a6bc7b1198243fdcda932b56a0c98f868">is_opcode_meta</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode, <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> a)</td></tr>
<tr class="separator:a6bc7b1198243fdcda932b56a0c98f868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51011375bc3412782dedcfa2ce4acdc8"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a51011375bc3412782dedcfa2ce4acdc8">is_opcode_match</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode, unsigned char c)</td></tr>
<tr class="separator:a51011375bc3412782dedcfa2ce4acdc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a620765adbedca642771c730cc52f7f44"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a620765adbedca642771c730cc52f7f44">meta_of</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a620765adbedca642771c730cc52f7f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7cd094bc9197a72264097bcec747e0b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab7cd094bc9197a72264097bcec747e0b">lo_of</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:ab7cd094bc9197a72264097bcec747e0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b48c70b1b81e15f5f28ade5ed2383d8"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a9b48c70b1b81e15f5f28ade5ed2383d8">hi_of</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a9b48c70b1b81e15f5f28ade5ed2383d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777335bd99f117906b726541a66141b1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a777335bd99f117906b726541a66141b1">index_of</a> (<a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> opcode)</td></tr>
<tr class="separator:a777335bd99f117906b726541a66141b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bcce091ced60330d43b81e18219d34c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a3bcce091ced60330d43b81e18219d34c">lowercase</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> c)</td></tr>
<tr class="separator:a3bcce091ced60330d43b81e18219d34c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a301e20a7d3c891298b19637183f98064"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a301e20a7d3c891298b19637183f98064">uppercase</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> c)</td></tr>
<tr class="separator:a301e20a7d3c891298b19637183f98064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab771b9c08b856e02a6c90282fe7c0af9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab771b9c08b856e02a6c90282fe7c0af9">reversecase</a> (<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> c)</td></tr>
<tr class="separator:ab771b9c08b856e02a6c90282fe7c0af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868087078125ee26997218d6ca0e254f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a868087078125ee26997218d6ca0e254f">hash</a> (<a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a> h1, <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a> h2)</td></tr>
<tr class="separator:a868087078125ee26997218d6ca0e254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf3c720b8a2ba442c88232873aa324f6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#abf3c720b8a2ba442c88232873aa324f6">hash</a> (<a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a> h)</td></tr>
<tr class="separator:abf3c720b8a2ba442c88232873aa324f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a1ca97820b6cad0e64647f1ec61250850"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structreflex_1_1_pattern_1_1_option.html">Option</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a1ca97820b6cad0e64647f1ec61250850">opt_</a></td></tr>
<tr class="memdesc:a1ca97820b6cad0e64647f1ec61250850"><td class="mdescLeft">&#160;</td><td class="mdescRight">pattern compiler options  <a href="#a1ca97820b6cad0e64647f1ec61250850">More...</a><br /></td></tr>
<tr class="separator:a1ca97820b6cad0e64647f1ec61250850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a613e2abf7a545bf78889be3f04aa36e1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a613e2abf7a545bf78889be3f04aa36e1">rex_</a></td></tr>
<tr class="memdesc:a613e2abf7a545bf78889be3f04aa36e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">regular expression string  <a href="#a613e2abf7a545bf78889be3f04aa36e1">More...</a><br /></td></tr>
<tr class="separator:a613e2abf7a545bf78889be3f04aa36e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdcf88a8e484d340d763ab5253947631"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#abdcf88a8e484d340d763ab5253947631">end_</a></td></tr>
<tr class="memdesc:abdcf88a8e484d340d763ab5253947631"><td class="mdescLeft">&#160;</td><td class="mdescRight">entries point to the subpattern's ending '|' or '\0'  <a href="#abdcf88a8e484d340d763ab5253947631">More...</a><br /></td></tr>
<tr class="separator:abdcf88a8e484d340d763ab5253947631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0886df05e8a3f6dcbd426bbe040e6f8e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0886df05e8a3f6dcbd426bbe040e6f8e">acc_</a></td></tr>
<tr class="memdesc:a0886df05e8a3f6dcbd426bbe040e6f8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">true if subpattern n is accepting (state is reachable)  <a href="#a0886df05e8a3f6dcbd426bbe040e6f8e">More...</a><br /></td></tr>
<tr class="separator:a0886df05e8a3f6dcbd426bbe040e6f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed2b1013f44a1fa1b6529932c1df72cf"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aed2b1013f44a1fa1b6529932c1df72cf">vno_</a></td></tr>
<tr class="memdesc:aed2b1013f44a1fa1b6529932c1df72cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of finite state machine vertices |V|  <a href="#aed2b1013f44a1fa1b6529932c1df72cf">More...</a><br /></td></tr>
<tr class="separator:aed2b1013f44a1fa1b6529932c1df72cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53bcee00c584232a3d0991c5ead49bdf"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a53bcee00c584232a3d0991c5ead49bdf">eno_</a></td></tr>
<tr class="memdesc:a53bcee00c584232a3d0991c5ead49bdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of finite state machine edges |E|  <a href="#a53bcee00c584232a3d0991c5ead49bdf">More...</a><br /></td></tr>
<tr class="separator:a53bcee00c584232a3d0991c5ead49bdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab67c0f79238c0e2e5bccd80c43c07a1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aab67c0f79238c0e2e5bccd80c43c07a1">opc_</a></td></tr>
<tr class="memdesc:aab67c0f79238c0e2e5bccd80c43c07a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">points to the opcode table  <a href="#aab67c0f79238c0e2e5bccd80c43c07a1">More...</a><br /></td></tr>
<tr class="separator:aab67c0f79238c0e2e5bccd80c43c07a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb40e55f6d057d0b1bed8cadab7f8548"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#adb40e55f6d057d0b1bed8cadab7f8548">nop_</a></td></tr>
<tr class="memdesc:adb40e55f6d057d0b1bed8cadab7f8548"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of opcodes generated  <a href="#adb40e55f6d057d0b1bed8cadab7f8548">More...</a><br /></td></tr>
<tr class="separator:adb40e55f6d057d0b1bed8cadab7f8548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8bc2f333f66f08463a9b5471ae7a1a7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a8bc2f333f66f08463a9b5471ae7a1a7f">fsm_</a></td></tr>
<tr class="memdesc:a8bc2f333f66f08463a9b5471ae7a1a7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">function pointer to FSM code  <a href="#a8bc2f333f66f08463a9b5471ae7a1a7f">More...</a><br /></td></tr>
<tr class="separator:a8bc2f333f66f08463a9b5471ae7a1a7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac53610fbbe0b6d5c223cc77b680fd226"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ac53610fbbe0b6d5c223cc77b680fd226">pre_</a></td></tr>
<tr class="memdesc:ac53610fbbe0b6d5c223cc77b680fd226"><td class="mdescLeft">&#160;</td><td class="mdescRight">pattern prefix, no more than 255 bytes  <a href="#ac53610fbbe0b6d5c223cc77b680fd226">More...</a><br /></td></tr>
<tr class="separator:ac53610fbbe0b6d5c223cc77b680fd226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17ba8adaa619f3c6d5ed10be5a1ea566"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a17ba8adaa619f3c6d5ed10be5a1ea566">min_</a></td></tr>
<tr class="memdesc:a17ba8adaa619f3c6d5ed10be5a1ea566"><td class="mdescLeft">&#160;</td><td class="mdescRight">patterns after the prefix are at least this long but no more than 8  <a href="#a17ba8adaa619f3c6d5ed10be5a1ea566">More...</a><br /></td></tr>
<tr class="separator:a17ba8adaa619f3c6d5ed10be5a1ea566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4361e841b84f19cae9ebecd29198d18"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab4361e841b84f19cae9ebecd29198d18">bit_</a> [256]</td></tr>
<tr class="memdesc:ab4361e841b84f19cae9ebecd29198d18"><td class="mdescLeft">&#160;</td><td class="mdescRight">bitap array  <a href="#ab4361e841b84f19cae9ebecd29198d18">More...</a><br /></td></tr>
<tr class="separator:ab4361e841b84f19cae9ebecd29198d18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a302640aaef595662983bdd56b8c4ffb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a302640aaef595662983bdd56b8c4ffb7">pmh_</a> [<a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47">Const::HASH</a>]</td></tr>
<tr class="memdesc:a302640aaef595662983bdd56b8c4ffb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">predict-match hash array  <a href="#a302640aaef595662983bdd56b8c4ffb7">More...</a><br /></td></tr>
<tr class="separator:a302640aaef595662983bdd56b8c4ffb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba8c5bf9348e6dd96454e7e5caee9b52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#aba8c5bf9348e6dd96454e7e5caee9b52">pma_</a> [<a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47">Const::HASH</a>]</td></tr>
<tr class="memdesc:aba8c5bf9348e6dd96454e7e5caee9b52"><td class="mdescLeft">&#160;</td><td class="mdescRight">predict-match array  <a href="#aba8c5bf9348e6dd96454e7e5caee9b52">More...</a><br /></td></tr>
<tr class="separator:aba8c5bf9348e6dd96454e7e5caee9b52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94209f79e5409ae48e486b447cbc52b9"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a94209f79e5409ae48e486b447cbc52b9">pms_</a></td></tr>
<tr class="memdesc:a94209f79e5409ae48e486b447cbc52b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">ms elapsed time to parse regex  <a href="#a94209f79e5409ae48e486b447cbc52b9">More...</a><br /></td></tr>
<tr class="separator:a94209f79e5409ae48e486b447cbc52b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ba3c8c6c5dbb258a8a76e8369c12e3e"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a0ba3c8c6c5dbb258a8a76e8369c12e3e">vms_</a></td></tr>
<tr class="memdesc:a0ba3c8c6c5dbb258a8a76e8369c12e3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">ms elapsed time to compile DFA vertices  <a href="#a0ba3c8c6c5dbb258a8a76e8369c12e3e">More...</a><br /></td></tr>
<tr class="separator:a0ba3c8c6c5dbb258a8a76e8369c12e3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d899b37f34c588c6227b23d7bea0233"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a3d899b37f34c588c6227b23d7bea0233">ems_</a></td></tr>
<tr class="memdesc:a3d899b37f34c588c6227b23d7bea0233"><td class="mdescLeft">&#160;</td><td class="mdescRight">ms elapsed time to compile DFA edges  <a href="#a3d899b37f34c588c6227b23d7bea0233">More...</a><br /></td></tr>
<tr class="separator:a3d899b37f34c588c6227b23d7bea0233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9a63c8a4a9e95e57ee53f83b748b187"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#ab9a63c8a4a9e95e57ee53f83b748b187">wms_</a></td></tr>
<tr class="memdesc:ab9a63c8a4a9e95e57ee53f83b748b187"><td class="mdescLeft">&#160;</td><td class="mdescRight">ms elapsed time to assemble code words  <a href="#ab9a63c8a4a9e95e57ee53f83b748b187">More...</a><br /></td></tr>
<tr class="separator:ab9a63c8a4a9e95e57ee53f83b748b187"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a516355df9ce1c7333bdc6d42e0cf89ef"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classreflex_1_1_pattern.html#a516355df9ce1c7333bdc6d42e0cf89ef">Matcher</a></td></tr>
<tr class="memdesc:a516355df9ce1c7333bdc6d42e0cf89ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">permit access by the <a class="el" href="classreflex_1_1_matcher.html" title="RE/flex matcher engine class, implements reflex::PatternMatcher pattern matching interface with scan...">reflex::Matcher</a> engine  <a href="#a516355df9ce1c7333bdc6d42e0cf89ef">More...</a><br /></td></tr>
<tr class="separator:a516355df9ce1c7333bdc6d42e0cf89ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classreflex_1_1_pattern.html" title="Pattern class holds a regex pattern and its compiled FSM opcode table or code for the reflex::Matcher...">Pattern</a> class holds a regex pattern and its compiled FSM opcode table or code for the <a class="el" href="classreflex_1_1_matcher.html" title="RE/flex matcher engine class, implements reflex::PatternMatcher pattern matching interface with scan...">reflex::Matcher</a> engine. </p>
<p>More info TODO </p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a98c79e11448d94900f6db02a09fecd69"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned int <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">reflex::Pattern::Char</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab5941659aec38a8a39608088e0799555"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt;<a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">reflex::Pattern::Chars</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>represent char (0-255 + meta chars) set as a set of ranges </p>

</div>
</div>
<a class="anchor" id="a0c44038d35a1a401ae2fb75787d6df2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;<a class="el" href="structreflex_1_1_pattern_1_1_position.html">Position</a>,<a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">reflex::Pattern::Follow</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6bd5471ccfee49021fd76a135bd52db0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* reflex::Pattern::FSM) (class <a class="el" href="classreflex_1_1_matcher.html">Matcher</a> &amp;)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>function pointer to FSM code </p>

</div>
</div>
<a class="anchor" id="a3739687ef42556a3700e046de2f1d33e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint16_t <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">reflex::Pattern::Hash</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>hash type (uint16_t), may be narrowed to uint8_t when <a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47" title="size of the predict match array ">Const::HASH</a> == 0x100 </p>

</div>
</div>
<a class="anchor" id="a38d69acf1e472d48225a3ba50b138e02"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint16_t <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">reflex::Pattern::Index</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>index into opcodes array <a class="el" href="classreflex_1_1_pattern.html#aab67c0f79238c0e2e5bccd80c43c07a1" title="points to the opcode table ">Pattern::opc_</a> and subpattern indexing </p>

</div>
</div>
<a class="anchor" id="a72409ec8de3a69e4b5ebfcb8b30a4607"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef size_t <a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">reflex::Pattern::Location</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa3bcc06b90015496882ec43819db7fb0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt;<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">reflex::Pattern::Locations</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa52226cd084c5dfefff2b38e08959629"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt;int,<a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">reflex::Pattern::Map</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af1835b3991d23c957e81c97442a608fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt;<a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a>,<a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#af1835b3991d23c957e81c97442a608fc">reflex::Pattern::Move</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aadfb59075bcf8a23e648c50d4a103d1e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::list&lt;<a class="el" href="classreflex_1_1_pattern.html#af1835b3991d23c957e81c97442a608fc">Move</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">reflex::Pattern::Moves</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4d44677873f6377230f2513218101c1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint32_t <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">reflex::Pattern::Opcode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>32 bit opcode word </p>

</div>
</div>
<a class="anchor" id="a7afa8a46d3665051c17de9b327f3f4dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::set&lt;<a class="el" href="structreflex_1_1_pattern_1_1_position.html">Position</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">reflex::Pattern::Positions</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afc0939fcf3c55e813039bc3e475a8a51"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint8_t <a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">reflex::Pattern::Pred</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>predict match bits </p>

</div>
</div>
<a class="anchor" id="a68b4c7815bdf30d7ff3d906d85a13ce7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::set&lt;<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&gt; <a class="el" href="classreflex_1_1_pattern.html#a68b4c7815bdf30d7ff3d906d85a13ce7">reflex::Pattern::Set</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a2776a201661c958c38e3deadceaf4d2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classreflex_1_1_pattern.html#a2776a201661c958c38e3deadceaf4d2b">reflex::Pattern::Meta</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Meta characters. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba48e13bbae590f352b9bf67046aad6c76"></a>META_MIN&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bad90cb31a0b39f692beb3f7a70a855db7"></a>META_NWB&#160;</td><td class="fielddoc">
<p>non-word boundary at begin <code>\Bx</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba2887659e7cb5d0cc345361ade454d858"></a>META_NWE&#160;</td><td class="fielddoc">
<p>non-word boundary at end <code>x\B</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2baf81fc1af4f0fa960d1475c81cf785184"></a>META_BWB&#160;</td><td class="fielddoc">
<p>begin of word at begin <code>\&lt;x</code> where =(&lt;|&gt;)x </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bae12f4a5af19cfde12ff38d55ec91c543"></a>META_EWB&#160;</td><td class="fielddoc">
<p>end of word at begin <code>\&gt;x</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bad2689d85118bf0f7fdfa8d3ed710005c"></a>META_BWE&#160;</td><td class="fielddoc">
<p>begin of word at end <code>x\&lt;</code> where x<b></b>=x(&lt;|&gt;) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba81e8ee255c0ea9fd7d608ea4afd109cd"></a>META_EWE&#160;</td><td class="fielddoc">
<p>end of word at end <code>x\&gt;</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba528f749628fea5497ec2b141fc68c86a"></a>META_BOL&#160;</td><td class="fielddoc">
<p>begin of line <code>^</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bad4d665a6389e2021c333c82ccd7326ba"></a>META_EOL&#160;</td><td class="fielddoc">
<p>end of line <code>$</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bafb92ecb707da8d19d22a680acafb5e59"></a>META_BOB&#160;</td><td class="fielddoc">
<p>begin of buffer <code>\A</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba3564384fa20ade8e086b725eec12401a"></a>META_EOB&#160;</td><td class="fielddoc">
<p>end of buffer <code>\Z</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bafe1b7d462a9d651bfe15f7494e121179"></a>META_UND&#160;</td><td class="fielddoc">
<p>undent boundary <code>\k</code> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba1d18a927ad1bb4c58b066e5f4f914337"></a>META_IND&#160;</td><td class="fielddoc">
<p>indent boundary <code>\i</code> (must be one but the largest META code) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2bae47cfcacf92488d19d3589339a5c5e4d"></a>META_DED&#160;</td><td class="fielddoc">
<p>dedent boundary <code>\j</code> (must be the largest META code) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a2776a201661c958c38e3deadceaf4d2ba2323c5c35b832fc9820b2e57a87f2f97"></a>META_MAX&#160;</td><td class="fielddoc">
<p>max meta characters </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0aabd5b85ce3128619e5cd0016e9a5ff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct an unset pattern. </p>

</div>
</div>
<a class="anchor" id="a36f1a567185c44a31b700fcf9a54b25f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given a regex string. </p>

</div>
</div>
<a class="anchor" id="a1f6f72b3a3789b29ff01ae39c75d2d23"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given a regex string. </p>

</div>
</div>
<a class="anchor" id="acaeaefcc762d23d69da4dbc7102e3c63"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given a regex string. </p>

</div>
</div>
<a class="anchor" id="af65f65e0258490f623622781ce1d3a1a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given a regex string. </p>

</div>
</div>
<a class="anchor" id="a692627fd6f5f8fa56b977cd6726e6f85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>pred</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given an opcode table. </p>

</div>
</div>
<a class="anchor" id="ae639bd7379b1453fc12d6437ef1b5d5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a>&#160;</td>
          <td class="paramname"><em>fsm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>pred</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a pattern object given a function pointer to FSM code. </p>

</div>
</div>
<a class="anchor" id="a858c16d3b25426e9ca7a5a373d4740a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">reflex::Pattern::Pattern </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td>
          <td class="paramname"><em>pattern</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>pattern to copy </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a35612bed740e5d6761f5e212a6620e44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual reflex::Pattern::~Pattern </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor, deletes internal code array when owned and allocated. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="abc61421fdd9e91d8c0fccd07f0fb1b31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::assemble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adb90ee07db1a540e99307c20d4e5cbf0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="adaf639d28f4a76a578b936e9c7eb46eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a84ad0cc4002b502b307b769945d5923c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a718bdc527e32d97bf7f4a9fbe53749d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a2a57e71368588d1beef5628792ca436a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>pred</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a31155c6387063ce6793df31927865a3c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::assign </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a>&#160;</td>
          <td class="paramname"><em>fsm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>pred</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a3164013e5d501f11e6224e371961a5d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>k</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa2456a0755ae0642d444ea26fe1c52d0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::check_dfa_closure </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>peek</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>prev</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7e09054af04bea1f99c87fc4b71f952a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Clear and delete pattern data. </p>

</div>
</div>
<a class="anchor" id="a885813800facf0d10934583600ad454f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::compact_dfa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9f370970f771824574863df077d8495"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::compile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af4f83afeefbbfb31baf8e685bffaa837"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::compile_esc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;&#160;</td>
          <td class="paramname"><em>chars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0d479e51b4026545c75878def0d764de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::compile_list </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;&#160;</td>
          <td class="paramname"><em>chars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3eda0c761f49da20c4b23a529a541af9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::compile_transition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">Moves</a> &amp;&#160;</td>
          <td class="paramname"><em>moves</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad17af88082dbd8e8fbfa01912cef09ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::delete_dfa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1b93367970497624cfd0da2121f48924"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::edges </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the number of finite state machine edges (transitions on input characters). </p>
<dl class="section return"><dt>Returns</dt><dd>number of edges or 0 when no finite state machine was constructed by this pattern </dd></dl>

</div>
</div>
<a class="anchor" id="abaf861828898bec7dc5c19fbc4a44194"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::edges_time </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get elapsed DFA edges construction time. </p>

</div>
</div>
<a class="anchor" id="a87ad6f65bf821d26564a23c4abba137c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::encode_dfa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aed945c4257571dad57ba77ea8d585f90"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reflex::Pattern::eq_at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa6b5e2aaa1a534bf49e4fa7fd8585e07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void reflex::Pattern::error </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacereflex.html#a776c689092282b15974a151328083b2d">regex_error_type</a>&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>pos</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Throw an error. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">code</td><td>error code </td></tr>
    <tr><td class="paramname">pos</td><td>optional location of the error in regex string <a class="el" href="classreflex_1_1_pattern.html#a613e2abf7a545bf78889be3f04aa36e1" title="regular expression string ">Pattern::rex_</a> </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5c8a6fc9ae3c7a633ef151b9e98e154a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::escape_at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae97becab6c532a028e1db637df364d57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::escapes_at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>escapes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afa0f088569b9e3b76423f0d243f440e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::export_code </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa834ea7a2d631d973aaaf1cc7c320e7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::export_dfa </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9fff2db9db9ca67a7c067a68161bfc7a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> reflex::Pattern::find_at </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9b16463f65322a3dfb5d44ff8469b0f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::flip </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;&#160;</td>
          <td class="paramname"><em>chars</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9eeb231b4cf4458284e601306c97a2c9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::gen_predict_match </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a618a7a3daf8482620062dd1bd2d6e489"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::gen_predict_match_transitions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::map&lt; <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *, <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>states</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9b86f917892753b1740cb8da152d6a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::gen_predict_match_transitions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>labels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::map&lt; <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *, <a class="el" href="classreflex_1_1_o_ranges.html">ORanges</a>&lt; <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> &gt; &gt; &amp;&#160;</td>
          <td class="paramname"><em>states</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a187faf20988e050da392b193d9103dd6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::gencode_dfa </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1398639a38ac4793f89d72d1e432583c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::gencode_dfa_closure </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> *&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>peek</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a85281a3707c8eca56b5ace45a482aa13"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::greedy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a868087078125ee26997218d6ca0e254f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a> reflex::Pattern::hash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a>&#160;</td>
          <td class="paramname"><em>h1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a>&#160;</td>
          <td class="paramname"><em>h2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abf3c720b8a2ba442c88232873aa324f6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a> reflex::Pattern::hash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a3739687ef42556a3700e046de2f1d33e">Hash</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9b48c70b1b81e15f5f28ade5ed2383d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::hi_of </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a777335bd99f117906b726541a66141b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> reflex::Pattern::index_of </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6fafcda71f7c7c705397088ca29c4caf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::init </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>pred</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize the pattern at construction. </p>

</div>
</div>
<a class="anchor" id="ab8bdde704ce3cbc0f3fcf4502338d92b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::init_options </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>options</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aef78ad9afa10f25af2397de5d682de7d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_meta </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a54ddf1635a08c0c6a1c3c8bb77d84aca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_modified </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>loc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6d6ea49de77878489110b55a5490ab15"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_halt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae1828d30256e594a9f20309bc4b9b211"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_head </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a51011375bc3412782dedcfa2ce4acdc8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_match </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a67b1f57c6c67c6b97bfa700cf2fb066a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_meta </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6bc7b1198243fdcda932b56a0c98f868"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_meta </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9e27e8d5328e92eae5dbd41730ce59b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_redo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6d70755be9ff50c97d116a067a5fc87c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_tail </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a11788b997a025524ffb968824cd84cce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static bool reflex::Pattern::is_opcode_take </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a87e0b7c2df8975bece5b2c90ccc1076f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::lazy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa14e8dc9daa92f60b681479f36efa066"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::lazy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>pos1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab7cd094bc9197a72264097bcec747e0b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::lo_of </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a3bcce091ced60330d43b81e18219d34c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::lowercase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a620765adbedca642771c730cc52f7f44"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::meta_of </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>&#160;</td>
          <td class="paramname"><em>opcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acc9cc5f49fea95ccec3df7b85d751cff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::nodes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the number of finite state machine nodes (vertices). </p>
<dl class="section return"><dt>Returns</dt><dd>number of nodes or 0 when no finite state machine was constructed by this pattern </dd></dl>

</div>
</div>
<a class="anchor" id="aeb30d9c021e6d3e6f9a92d235ccf2dfe"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::nodes_time </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get elapsed DFA vertices construction time. </p>

</div>
</div>
<a class="anchor" id="a74271267057251b4cd554b9092f44154"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_goto </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>lo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>hi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad398628debb005614db17cc1732239d6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_halt </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa6ca25d94886ac2d6f3ee51e9ac789f3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_head </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af1eb6fb5ae37a0762a1bbaeeeaa351d5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_redo </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4fc95b760cdc1b89454371bc8f36662c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_tail </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a54d407eb8c94d830c938682bf61d3a9e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> reflex::Pattern::opcode_take </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a405dc0bc89070a8c694e6d012c00a807"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html">Pattern</a> &amp;&#160;</td>
          <td class="paramname"><em>pattern</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a013662647ab3f2b4404893fd05040e2c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::operator= </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>regex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="aaa7bfc08bcd9236f035cc0732e6437a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::operator= </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>regex</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a88c716035ab6d17770bd3bcb7db517b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a> *&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="add516e864534d6704b43592232b81366"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html">Pattern</a>&amp; reflex::Pattern::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a>&#160;</td>
          <td class="paramname"><em>fsm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign a (new) pattern. </p>

</div>
</div>
<a class="anchor" id="a5dd78d5f44f64407561e6cf7945d34ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string reflex::Pattern::operator[] </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>choice</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get subpattern regex of this pattern object or the whole regex with index 0. </p>
<dl class="section return"><dt>Returns</dt><dd>subpattern string or "" when not set </dd></dl>

</div>
</div>
<a class="anchor" id="a1754ccae6c06d9c3f2cb3b1f5ee70c48"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>startpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a9419893491a02f323a96775b187c3934"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse1 </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>firstpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lastpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>nullable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2662cb0c9c6783ca578ed56ac2c95c3a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse2 </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>firstpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lastpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>nullable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="acd3f417b198c8238ef5f006815af2b54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse3 </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>firstpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lastpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>nullable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6ecf38ad7c5c3c3bfc506d50aeef1c66"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse4 </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;&#160;</td>
          <td class="paramname"><em>loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>firstpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lastpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&#160;</td>
          <td class="paramname"><em>nullable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a0c44038d35a1a401ae2fb75787d6df2c">Follow</a> &amp;&#160;</td>
          <td class="paramname"><em>followpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>lazypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa3bcc06b90015496882ec43819db7fb0">Locations</a> &amp;&#160;</td>
          <td class="paramname"><em>lookahead</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> &amp;&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aadd3ac700da3409d35e528fa895f22e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::parse_esc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a> &amp;&#160;</td>
          <td class="paramname"><em>loc</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa17c980b164a1fe4a94dc467d5eea18e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::parse_time </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get elapsed regex parsing and analysis time. </p>

</div>
</div>
<a class="anchor" id="a0eda441aecb46e765fe91c7abe64e259"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::posix </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;&#160;</td>
          <td class="paramname"><em>chars</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7690f2efaa71a7f5821977e9679ad369"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::predict_match_dfa </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structreflex_1_1_pattern_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae3c1d4a0277c81673d05324dfe8d3a6e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool reflex::Pattern::reachable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a>&#160;</td>
          <td class="paramname"><em>choice</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Check is subpattern is reachable by a match. </p>
<dl class="section return"><dt>Returns</dt><dd>true if subpattern is reachable </dd></dl>

</div>
</div>
<a class="anchor" id="ab771b9c08b856e02a6c90282fe7c0af9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::reversecase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8041717ba77c753a8a8b61df40c7b050"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> reflex::Pattern::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Number of subpatterns of this pattern object. </p>
<dl class="section return"><dt>Returns</dt><dd>number of subpatterns </dd></dl>

</div>
</div>
<a class="anchor" id="acf637b39534ba1b5c9446572856f183c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::transition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aadfb59075bcf8a23e648c50d4a103d1e">Moves</a> &amp;&#160;</td>
          <td class="paramname"><em>moves</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#ab5941659aec38a8a39608088e0799555">Chars</a> &amp;&#160;</td>
          <td class="paramname"><em>chars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>follow</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5f675095534b2dd8cd405fcd3f30fb72"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::trim_lazy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a7afa8a46d3665051c17de9b327f3f4dc">Positions</a> &amp;&#160;</td>
          <td class="paramname"><em>pos</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aedf71e55974fdd111deaacdc0e07727e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void reflex::Pattern::update_modified </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#aa52226cd084c5dfefff2b38e08959629">Map</a> &amp;&#160;</td>
          <td class="paramname"><em>modifiers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&#160;</td>
          <td class="paramname"><em>to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a301e20a7d3c891298b19637183f98064"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a> reflex::Pattern::uppercase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classreflex_1_1_pattern.html#a98c79e11448d94900f6db02a09fecd69">Char</a>&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1e1151e347e498f51631c78739e0d5d9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::words </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the code size in number of words. </p>
<dl class="section return"><dt>Returns</dt><dd>number of words or 0 when no code was generated by this pattern </dd></dl>

</div>
</div>
<a class="anchor" id="acc8cbdbe88fab10eccc2acf6719abd61"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::words_time </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get elapsed code words assembly time. </p>

</div>
</div>
<a class="anchor" id="a859c3bd6c7a08531492106c8be732446"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::write_namespace_close </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fd</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a60dfdb71b2a7c35b463516d47eff9417"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::write_namespace_open </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fd</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a95d0e0757d4c4173d560a43993cd63fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void reflex::Pattern::write_predictor </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fd</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a516355df9ce1c7333bdc6d42e0cf89ef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classreflex_1_1_matcher.html">Matcher</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>permit access by the <a class="el" href="classreflex_1_1_matcher.html" title="RE/flex matcher engine class, implements reflex::PatternMatcher pattern matching interface with scan...">reflex::Matcher</a> engine </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a0886df05e8a3f6dcbd426bbe040e6f8e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;bool&gt; reflex::Pattern::acc_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>true if subpattern n is accepting (state is reachable) </p>

</div>
</div>
<a class="anchor" id="ab4361e841b84f19cae9ebecd29198d18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a> reflex::Pattern::bit_[256]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>bitap array </p>

</div>
</div>
<a class="anchor" id="a3d899b37f34c588c6227b23d7bea0233"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::ems_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ms elapsed time to compile DFA edges </p>

</div>
</div>
<a class="anchor" id="abdcf88a8e484d340d763ab5253947631"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classreflex_1_1_pattern.html#a72409ec8de3a69e4b5ebfcb8b30a4607">Location</a>&gt; reflex::Pattern::end_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>entries point to the subpattern's ending '|' or '\0' </p>

</div>
</div>
<a class="anchor" id="a53bcee00c584232a3d0991c5ead49bdf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::eno_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>number of finite state machine edges |E| </p>

</div>
</div>
<a class="anchor" id="a8bc2f333f66f08463a9b5471ae7a1a7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a6bd5471ccfee49021fd76a135bd52db0">FSM</a> reflex::Pattern::fsm_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>function pointer to FSM code </p>

</div>
</div>
<a class="anchor" id="a17ba8adaa619f3c6d5ed10be5a1ea566"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::min_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>patterns after the prefix are at least this long but no more than 8 </p>

</div>
</div>
<a class="anchor" id="adb40e55f6d057d0b1bed8cadab7f8548"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#a38d69acf1e472d48225a3ba50b138e02">Index</a> reflex::Pattern::nop_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>number of opcodes generated </p>

</div>
</div>
<a class="anchor" id="aab67c0f79238c0e2e5bccd80c43c07a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classreflex_1_1_pattern.html#a4d44677873f6377230f2513218101c1c">Opcode</a>* reflex::Pattern::opc_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>points to the opcode table </p>

</div>
</div>
<a class="anchor" id="a1ca97820b6cad0e64647f1ec61250850"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structreflex_1_1_pattern_1_1_option.html">Option</a> reflex::Pattern::opt_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>pattern compiler options </p>

</div>
</div>
<a class="anchor" id="aba8c5bf9348e6dd96454e7e5caee9b52"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a> reflex::Pattern::pma_[<a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47">Const::HASH</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>predict-match array </p>

</div>
</div>
<a class="anchor" id="a302640aaef595662983bdd56b8c4ffb7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classreflex_1_1_pattern.html#afc0939fcf3c55e813039bc3e475a8a51">Pred</a> reflex::Pattern::pmh_[<a class="el" href="structreflex_1_1_pattern_1_1_const.html#af47052685e83fd1f2c7ee0b487cbab47">Const::HASH</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>predict-match hash array </p>

</div>
</div>
<a class="anchor" id="a94209f79e5409ae48e486b447cbc52b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::pms_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ms elapsed time to parse regex </p>

</div>
</div>
<a class="anchor" id="ac53610fbbe0b6d5c223cc77b680fd226"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string reflex::Pattern::pre_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>pattern prefix, no more than 255 bytes </p>

</div>
</div>
<a class="anchor" id="a613e2abf7a545bf78889be3f04aa36e1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string reflex::Pattern::rex_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>regular expression string </p>

</div>
</div>
<a class="anchor" id="a0ba3c8c6c5dbb258a8a76e8369c12e3e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::vms_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ms elapsed time to compile DFA vertices </p>

</div>
</div>
<a class="anchor" id="aed2b1013f44a1fa1b6529932c1df72cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">size_t reflex::Pattern::vno_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>number of finite state machine vertices |V| </p>

</div>
</div>
<a class="anchor" id="ab9a63c8a4a9e95e57ee53f83b748b187"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">float reflex::Pattern::wms_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ms elapsed time to assemble code words </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="pattern_8h.html">pattern.h</a></li>
</ul>
</div><!-- contents -->
<hr class="footer">
<address class="footer"><small>
Converted on Fri Nov 22 2019 14:30:50 by <a target="_blank" href="http://www.doxygen.org/index.html">Doxygen</a> 1.8.11</small></address>
<br>
<div style="height: 246px; background: #DBDBDB;">
</body>
</html>
